package com.stylefeng.guns.common.persistence.model;

import java.io.Serializable;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.stylefeng.guns.common.annotion.EmpCode;
import com.stylefeng.guns.common.annotion.Point;
import com.stylefeng.guns.common.annotion.PointType;
import com.stylefeng.guns.common.annotion.Year;
import com.stylefeng.guns.common.constant.PointConstType;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 脱产培训积分
 * </p>
 * 1.28改动：
 * @author jondai
 * @since 2018-01-02
 */
@PointType(PointConstType.fulltimeTrainPoints)
@TableName("fulltime_train_points")
public class FulltimeTrainPoints extends Model<FulltimeTrainPoints> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.UUID)
	private String id;

	/**
	 * 年度
	 */
	@TableField("year")
	@Year
	@Excel(name = "年度",width = 20)
	private String year;
    /**
     * 员工编号
     */
	@EmpCode
	@TableField("emp_code")
	@Excel(name = "员工编号",width = 20)
	private String empCode;
	/**
	 * 员工姓名
	 */
	@TableField("emp_name")
	@Excel(name = "姓名",width = 20)
	private String empName;
    /**
     * 开始时间
     */
	@TableField("start_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "开始时间", databaseFormat = "yyyy-MM-dd", format = "yyyy-MM-dd",width = 20)
	private Date startTime;
    /**
     * 结束时间
     */
	@TableField("end_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "结束时间", databaseFormat = "yyyy-MM-dd", format = "yyyy-MM-dd",width = 20)
	private Date endTime;

	/**
	 * 培训班名称
	 */
	@TableField("training_course")
	@Excel(name = "培训班名称",width = 20)
	private String trainingCourse;

	/**
	 * 二级分类
	 */
	@Excel(name = "二级分类",width = 20)
	@TableField("two_level")
	private String twoLevel;
	/**
	 * 三级分类
	 */
	@Excel(name = "三级分类",width = 20)
	@TableField("three_level")
	private String threeLevel;

	/**
     * 项目层级
     */
	@TableField("project_level")
	@Excel(name = "项目层级", replace = { "01_国网公司级", "02_国网省级","03_地市级","04_县级" },width = 20)
	private String projectLevel;

    /**
     * 考核结果
     */
	@TableField("check_result")
	@Excel(name = "考核结果",width = 20)
	private String checkResult;


	/**
     * 培训承办单位
     */
	@TableField("trains_sponsor")
	@Excel(name = "培训承办单位",width = 20)
	private String trainsSponsor;
    /**
     * 培训地点
     */
	@TableField("trains_address")
	@Excel(name = "培训地点",width = 20)
	private String trainsAddress;
	/**
	 * 考试结果
	 */
	@TableField("test_results")
	@Excel(name = "考试结果",width = 20)
	private String testResults;
    /**
     * 完成学时
     */
	@TableField("finish_hours")
	@Excel(name = "完成学时",width = 15)
	private Double finishHours;


    /**
     * 学分
     */
	@Point
	private Double credit;

	/**
	 * 数据来源
	 */
	@TableField("origin_data")
	private String originData;

	/**
	 * 创建时间
	 */
	@TableField("create_date")
	private Date createDate;


	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getEmpName() {
		return empName;
	}

	public void setEmpName(String empName) {
		this.empName = empName;
	}

	public String getEmpCode() {
		return empCode;
	}

	public void setEmpCode(String empCode) {
		this.empCode = empCode;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public String getProjectLevel() {
		return projectLevel;
	}

	public void setProjectLevel(String projectLevel) {
		this.projectLevel = projectLevel;
	}

	public String getCheckResult() {
		return checkResult;
	}

	public void setCheckResult(String checkResult) {
		this.checkResult = checkResult;
	}

	public String getTrainsSponsor() {
		return trainsSponsor;
	}

	public void setTrainsSponsor(String trainsSponsor) {
		this.trainsSponsor = trainsSponsor;
	}

	public String getTrainsAddress() {
		return trainsAddress;
	}

	public void setTrainsAddress(String trainsAddress) {
		this.trainsAddress = trainsAddress;
	}

	public Double getFinishHours() {
		return finishHours;
	}

	public void setFinishHours(Double finishHours) {
		this.finishHours = finishHours;
	}

	public Double getCredit() {
		return credit;
	}

	public void setCredit(Double credit) {
		this.credit = credit;
	}

	public String getOriginData() {
		return originData;
	}

	public void setOriginData(String originData) {
		this.originData = originData;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public String getYear() {
		return year;
	}

	public void setYear(String year) {
		this.year = year;
	}

	public String getTrainingCourse() {
		return trainingCourse;
	}

	public void setTrainingCourse(String trainingCourse) {
		this.trainingCourse = trainingCourse;
	}

	public String getTwoLevel() {
		return twoLevel;
	}

	public void setTwoLevel(String twoLevel) {
		this.twoLevel = twoLevel;
	}

	public String getThreeLevel() {
		return threeLevel;
	}

	public void setThreeLevel(String threeLevel) {
		this.threeLevel = threeLevel;
	}

	public String getTestResults() {
		return testResults;
	}

	public void setTestResults(String testResults) {
		this.testResults = testResults;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "FulltimeTrainPoints{" +
				"id=" + id +
				", year='" + year + '\'' +
				", empName='" + empName + '\'' +
				", empCode='" + empCode + '\'' +
				", startTime=" + startTime +
				", endTime=" + endTime +
				", trainingCourse='" + trainingCourse + '\'' +
				", projectLevel='" + projectLevel + '\'' +
				", checkResult='" + checkResult + '\'' +
				", testResults='" + testResults + '\'' +
				", trainsSponsor='" + trainsSponsor + '\'' +
				", trainsAddress='" + trainsAddress + '\'' +
				", finishHours=" + finishHours +
				", credit=" + credit +
				", createDate=" + createDate +
				'}';
	}
}
